# encoding: utf-8

"""
迭代器：用于访问集合元素，是一种可以记住访问遍历的位置的对象

1.从集合的第一个元素开始访问，指导集合中所有的元素都被访问完
2.迭代器只能从前往后一个一个的遍历，不能后退
3.可以被next()函数调用，并不断返回下一个值的对象称为迭代器(iterator)
"""

arr = ['a', 'b', 'c', 3, 4, 5]
for i in arr:
    print(i)

"""
iter(参数)函数:将可迭代对象转换为迭代对象
    参数:可迭代对象(包括str list tuple dict set range)
    返回值:迭代器对象

注意：迭代器一定是可迭代对象，但是可迭代对象不一定是迭代器
"""

first_name = ['赵','陈','孙','李']
# 使用for遍历
for name in first_name:
    print(name,end=' ')
print()

# 使用迭代器
iterator = iter(first_name)
# 读取下一个元素
value = next(iterator)
print(value)

for i in iterator:
    print(i)
